home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / demos / r-z / stormc-demo / stormc install-script < prev    next >
Text File  |  1996-01-22  |  12KB  |  407 lines

  1. ; $VER: StormC V1.0 Install Version 1.04 (15.11.95)
  2. ; Installations-Script - na, wofür wohl?
  3. ; (c) 1995/96 HAAGE & PARTNER Computer GmbH
  4.  
  5. (complete 0)
  6.  
  7. ; Die Versionsnummer und das Erstellungs-Datum der hier installierten
  8. ; Versionen.
  9.  
  10. (set stcpp-version "1.02")
  11. (set stcpp-date "(12 Jan 96)")
  12.  
  13. ;====================================================================
  14. ; Initialisierungen
  15.  
  16.  
  17. (set @default-dest "")
  18.  
  19. (set os-version (/ (getversion) 65536))
  20. (set os-13 (< os-version 36))
  21. (set os-20 (>= os-version 36))
  22. (set os-21 (>= os-version 38))
  23.  
  24. (set totalmem (database "total-mem")) ; Diese schöne Funktion vereinfacht einiges
  25.  
  26. ; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
  27.  
  28. ;(set run-lha                "run RAM:Lhex x -a ")
  29. ;(set run-free                "run C/StormFree")
  30.  
  31. ; Die Pfadnamen der einzelnen Quell-Dateien.
  32.  
  33. (set #binsource             (tackon (pathonly @icon) "StormSYS"))    ; Hier stehen die Ausführbaren Programme
  34. (set #includesource         (tackon (pathonly @icon) "INCLUDE"))     ; Hier stehen die Includes
  35. (set #envsource            (tackon (pathonly @icon) "ENV"))            ; Die Voreinstellungen
  36. (set #libsource            (tackon (pathonly @icon) "LIB"))            ; Hier stehen die Bibliotheken
  37. (set #samplesource        (tackon (pathonly @icon) "Examples"))    ; Hier stehen die Demo-Sourcen
  38. (set #manualsource        (tackon (pathonly @icon) "MANUAL"))        ; Hier steht die Dokumentation
  39. (set source-Liesmich     (tackon (pathonly @icon) "Liesmich"))        ; Die Liesmich Datei 
  40. (set source-ikon        (tackon (pathonly @icon) "StormCPP.info"))    ; Das Programm-Piktogramm
  41.  
  42.  
  43. ;(set !auswahlhilfe
  44. ;    (cat "\nAuf Ihrer Festplatte befindet sich bereits eine Version "
  45. ;        "der Datei die installiert werden soll. \n\n"
  46. ;        "Wählen Sie \"Ja\", wenn Sie die alte Datei mit der neuen "
  47. ;        "überschreiben möchten. Anderenfalls wählen Sie bitte \"Nein\"!\n"))
  48.  
  49. (set #prp-copy-samples
  50.     "Kopiere die C und C++ Beispielprogramme")
  51. (set #hlp-copy-bin
  52.     "Anhand des Handbuches und der Beispiele können Sie sich sehr schnell in StormC einarbeiten")
  53. (set #prp-copy-env
  54.     "Kopiere die StormC Default-Piktogramme")
  55. (set #hlp-copy-env
  56.     "Die Piktogramme werden von der Projektverwaltung und vom Editor benötigt")
  57. (set #prp-copy-includes
  58.     "Kopiere die C++ Systemincludes")
  59. (set #hlp-copy-includes
  60.     "Die Includes werden vom Compiler-Preprozessor benötigt")
  61. (set #prp-copy-libs
  62.     "Kopiere die Linker-Bibliotheken")
  63. (set #hlp-copy-libs
  64.     "Die Bibliotheken werden vom Linker benötigt")
  65. (set #prp-copy-manual
  66.     "Kopiere die Dokumentation")
  67. (set #hlp-copy-manual
  68.     "Eine Amiga-Guide-Datei zu StormC")
  69. (set #prp-copy-bin
  70.     "Kopiere die Ausführbaren Dateien des Compilersystems")
  71. (set #hlp-copy-bin
  72.     "Bei der allerersten Installation sollten Sie auch alle Dateien kopieren")
  73.     
  74. ; Die Dateigrößen
  75.  
  76. (set size-stormcpp            54000)
  77. (set size-stormc                424000)
  78. (set size-stormed                312000)
  79. (set size-stormshell              416000)
  80. (set size-stormrun            381000)
  81. (set size-stormasm            36000)
  82. (set size-stormpics            50000)
  83. (set size-stormlex            50000)
  84. (set size-libs                    320000)
  85. (set size-inlcudes            950000)
  86. (set size-demos                200000)
  87.  
  88. (set size-komplett    ( + size-stormrun size-stormasm size-stormcpp size-stormc size-stormed size-stormshell size-stormpics size-stormlex size-libs size-inlcudes size-demos))
  89.  
  90. ; ----------------------------- Prozeduren ------------------------------
  91.  
  92. (Procedure Make_Folder
  93.     (
  94.     (set folder (tackon folder "StormC"))
  95.     (if (= (exists folder) 0)
  96.        (
  97.        (makedir folder (infos))
  98.        )
  99.     ))
  100. )
  101.  
  102. ;=====================================================================================
  103. ; Beginn der Installation
  104. ;=====================================================================================
  105.  
  106. ; Eine kleine Einleitung, gefolgt vom Startbild des Installers.
  107.  
  108. (set act-user-level @user-level)
  109. (user 1)
  110.  
  111. (message (cat    "\nWillkommen bei der Installation der \n\n\"StormC-Demoversion "
  112.                      stcpp-version " vom "stcpp-date "\"!\n\n"
  113.                     "Dieses Skript kopiert die verschiedenen Dateien, "
  114.                     "aus denen sich das Compilersystem zusammensetzt, "
  115.                     "auf Ihre Festplatte.\n"))
  116.  
  117. (user act-user-level)
  118. (welcome)
  119.  
  120. (complete 5)
  121.  
  122. (set act-user-level @user-level)
  123. (user 1)
  124.  
  125.  
  126. ;    Alte Version prüfen und entsprechende Warnung ausgeben! **************************************************************
  127.  
  128. (set folder "WORK:StormC")
  129.  
  130. (if (exists "StormC:" (noreq))
  131.     (
  132.         (message (cat    "\nAuf Ihrer Festplatte befindet sich bereits eine\n"
  133.                         "Installation von StormC! Wählen Sie bitte die über-\n"
  134.                         "geordnete Schublade oder das jeweilige Laufwerk an,\n"
  135.                         "wenn Sie ihr altes System aktualisieren möchten!"))
  136.  
  137.     (set folder (getassign "STORMC"))
  138.     )
  139. )
  140.  
  141. (set cmpstr (getassign "STORMC"))
  142.  
  143. (user act-user-level)
  144.  
  145. (if (= @user-level 0)
  146.     (
  147.     (user 1)
  148.     (message (cat    "Im Einsteiger-Modus wird davon ausgegangen, daß Storm C auf "
  149.                         "einer Festplatte installiert wird, auf der noch mindestens "
  150.                         "ca. 5 MByte freier Speicherplatz verfügbar sind. Sie werden "
  151.                         "dazu im nächsten Fenster nach dem Namen der gewünschten "
  152.                         "Schublade gefragt.\n\n"
  153.                         "Alle weiteren Angaben werden dann vom Installations-Skript "
  154.                         "möglichst genau an Ihr System angepaßt."))))
  155.  
  156. (set ok 0)
  157. (while (not ok)
  158.     (set folder
  159.         (askdir
  160.             (prompt (cat "\n"
  161.                              "Auswahl des Pfades für die Compiler-Installation.\n"
  162.                              "Eine Schublade mit dem Namen StormC wird automatisch erzeugt!"))
  163.             (help (cat    "    Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  164.                             "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  165.                             "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  166.                             "gekennzeichneten Einträge auswählen.\n"
  167.                             "    Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
  168.                             "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
  169.                             "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
  170.                             "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
  171.                             "\n\n"
  172.                             "Storm C kann nur in eine Schublade nicht aber auf eine "
  173.                             "Partition direkt installiert werden! Wenn Sie also nur ein Laufwerk "
  174.                             "für die Installation auswählen, wird Ihnen eine Fehlermeldung angezeigt!\n\n"
  175.                             @askdir-help))
  176.             (default folder)
  177.             (disk)
  178.         )
  179.     )
  180.  
  181.    (Make_Folder)    ; // Automatisch neues Verzeichnis anlegen!
  182.  
  183.     ; Ist der Dateiname leer oder endet mit einem ':' oder existiert unter
  184.     ; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
  185.     ; kann die Auswahl-Schleife beendet werden.
  186.     (if (or (or (or (<= (strlen folder) 0) (= (substr folder (- (strlen folder) 1) 1) ":")) (= (exists folder (noreq)) 0)) (= (getdiskspace folder) -1))
  187.         (message (cat    "\nBei Ihrer Auswahl \"" folder "\" handelt es sich nicht um "
  188.                             "eine gültige Schublade!\n\n"
  189.                             "Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  190.                             "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  191.                             "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  192.                             "gekennzeichneten Einträge auswählen.\n"
  193.                             "Über den Schalter \"Neue Schublade anlegen...\" können Sie ein neue "
  194.                                "Schublade erzeugen. Diese neue Schublade\nwird auf der Partition "
  195.                                "angelegt, die Sie soeben betrachten."))
  196.         ;else
  197.         (
  198.             (set freediskspace (getdiskspace folder))    ; Der freie Speicher auf diesem Medium
  199.  
  200.             (if (< freediskspace size-komplett)
  201.                 (
  202.                 (user 1)
  203.                 (message (cat    "\nAuf der ausgewählten Festplattenpartition "
  204.                                             "steht nicht genügend freier Speicher für die "
  205.                                             "komplette Installation des Compilersystems zur Verfügung.\n\n"
  206.                                             "Freier Speicher " freediskspace "!\n"
  207.                                             "Benötigter Speicher " size-komplett "!\n\n"
  208.                                             "Bitte wählen Sie eine andere Partition, auf "
  209.                                             "der entsprechende Kapazitäten vorhanden sind!"))                
  210.                 )
  211.             ;else
  212.             (set ok 1)
  213.             )
  214.         )
  215.     )
  216. )
  217.  
  218. (makeassign "STORMC")
  219.  
  220. (user act-user-level)
  221.  
  222. (set @default-dest folder)    ; Die Zuweisung ist sehr wichtig!
  223.  
  224. (set destbin    (tackon folder "StormSYS"))
  225. (if                                          ; Compiler-Verzeichnis erzeugen
  226.     (= (exists destbin) 0)
  227.     (makedir destbin (infos))
  228. )
  229.  
  230. (set destdemo    (tackon folder "Examples"))
  231. (if                                          ; Demo-Verzeichnis erzeugen
  232.     (= (exists destdemo) 0)
  233.     (makedir destdemo (infos))
  234. )
  235. (set destinclude (tackon folder "Include"))
  236. (if                                          ; Includes-Verzeichnis erzeugen
  237.     (= (exists destinclude) 0)
  238.     (makedir destinclude)
  239. )
  240.  
  241. (set destlib    (tackon folder "Lib"))
  242. (if                                          ; Libraries-Verzeichnis erzeugen
  243.     (= (exists destlib) 0)
  244.     (makedir destlib)
  245. )
  246.  
  247. (set destmanual    (tackon folder "Manual"))
  248. (if                                          ; Dokumentations-Verzeichnis erzeugen
  249.     (= (exists destmanual) 0)
  250.     (makedir destmanual (infos))
  251. )
  252.  
  253. (complete 5)
  254.  
  255. ; Liesmich Datei auf Festplatte kopieren!
  256.  
  257. (copyfiles
  258.     (source source-Liesmich)
  259.     (dest folder)
  260.     (infos)
  261. )
  262.  
  263. (complete 8)
  264.  
  265. (set morerunpath "run C/More Liesmich")
  266.  
  267. (run morerunpath)    ; Liesmich laden
  268.  
  269. (complete 10)
  270.  
  271. (set destinfo    (tackon folder "StormCPP.info"))
  272. (if                                          ; Projekt-Ikon erzeugen
  273.     (= (exists destinfo) 0)
  274.     (copyfiles
  275.         (source source-ikon)
  276.         (dest folder)
  277.     )
  278. )
  279.  
  280. (complete 15)
  281.  
  282. (copyfiles                                            ; Beispiele kopieren
  283.     (prompt #prp-copy-samples)
  284.     (help #hlp-copy-samples)
  285.     (source #samplesource)
  286.     (dest destdemo)
  287.     (all)
  288.     (confirm)
  289. )
  290.  
  291. (complete 20)
  292.  
  293. (copyfiles                                            ; Settings kopieren
  294.     (prompt #prp-copy-env)
  295.     (help #hlp-copy-env)
  296.     (source #envsource)
  297.     (dest "ENVARC:")
  298.     (all)
  299.     (confirm)
  300. )
  301.  
  302. (complete 22)
  303.  
  304. (copyfiles                                            ; Settings kopieren
  305.     (prompt #prp-copy-env)
  306.     (help #hlp-copy-env)
  307.     (source #envsource)
  308.     (dest "ENV:")
  309.     (all)
  310.     (confirm)
  311. )
  312.  
  313. (complete 25)
  314.  
  315. (copyfiles                                            ; Compiler kopieren
  316.     (prompt #prp-copy-bin)
  317.     (help #hlp-copy-bin)
  318.     (source #binsource)
  319.     (dest destbin)
  320.     (all)
  321.     (confirm)
  322. )
  323.  
  324. (complete 40)
  325.  
  326. (copyfiles                                            ; Includes kopieren
  327.     (prompt #prp-copy-includes)
  328.     (help #hlp-copy-includes)
  329.     (source #includesource)
  330.     (dest destinclude)
  331.     (all)
  332.     (confirm)
  333. )
  334.  
  335. (complete 60)
  336.  
  337. (copyfiles                                            ; Libs kopieren
  338.     (prompt #prp-copy-libs)
  339.     (help #hlp-copy-libs)
  340.     (source #libsource)
  341.     (dest destlib)
  342.     (all)
  343.     (confirm)
  344. )
  345.  
  346. (complete 80)
  347.  
  348. (copyfiles                                            ; Manual kopieren
  349.     (prompt #prp-copy-manual)
  350.     (help #hlp-copy-manual)
  351.     (source #manualsource)
  352.     (dest destmanual)
  353.     (all)
  354.     (confirm)
  355. )
  356.  
  357. (complete 95)
  358.  
  359.  
  360. ; ------- STARTUP ÄNDERN
  361.  
  362. (set command1 (cat  "ASSIGN STORMC: " folder ""))
  363.  
  364. (set command1.txt
  365.     (cat 
  366.          "\n\n\nUm mit StromC richtig arbeiten zu "
  367.       "können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
  368.          command1
  369.     )
  370. )
  371.  
  372. (startup "StormC"
  373.     (prompt command1.txt)
  374.     (help #help-startup)
  375.     (command command1)
  376. )
  377.  
  378. (makeassign "STORMC")
  379. (makeassign "STORMC" folder)
  380.  
  381. ;(set FREERROR (run "C/StormFree"))
  382.  
  383. ;(if  ( <> FREERROR 0)
  384. ;    (
  385. ;    (delete "STORMC:BIN/StormCPP")
  386. ;    (delete "STORMC:BIN/StormCPP.info")
  387. ;    (delete "STORMC:StormCPP.info")
  388. ;    (message
  389. ;        "\n\n\n\n"
  390. ;        "Fehler bei der Installation.\n"
  391. ;        "Die Installation war fehlerhaft!\n\n"
  392. ;        "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  393. ;        " und, falls die Dateien bereits vorhanden sind diese nicht "
  394. ;        " Lösch- oder Schreibgeschützt sind.")
  395. ;    )
  396. ;)
  397.  
  398. (complete 100)
  399.  
  400. ; ------- FERTIG
  401.  
  402. (message (cat 
  403.     "\nInstallation des StormC Compilers beendet.\n"
  404.    "Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
  405.    "User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
  406.    "\n\nWir wünschen ihnen viel Erfolg bei der Lösung Ihrer Programmieraufgaben!")
  407. )